1. Field of the Invention
The present invention relates to a method, system, and program for managing information for an application program using a file management system.
2. Description of the Related Art
Information management programs, such as e-mail programs, calendaring programs, project management programs, accounting programs, etc., provide users with different views of information through a graphical user interface (GUI). Each window view may include numerous different fields of variable information. The views may also include user interactive elements, such as graphical buttons, hypertext links, etc., that allow the user to interact with the application program to modify information, access further views of information, etc. Many such information management programs maintain the data for the fields in a relational database program comprised of records of columns of data. Such application programs require interaction with a separate database program or incorporate a database program within the application. Typically, the application must utilize an Application Programming Interface (API) to communicate with the external or embedded database program, such as the Open Database Connectivity (ODBC) protocol. Although there are many advantages databases offer for organizing data, embedding a database within a program or requiring an interface to another database program increases both the complexity and cost of the application.
Other prior art applications may store application data in a single file that can be accessed by the application as needed. Although information management programs that store data in a single large file, such as an ASCII delimited file, may avoid the complications experienced using a database program for data management, using a single large file to store all the application data will likely prevent multiple users from concurrently accessing the data file, thereby limiting such information management programs that store data in a single data file to single user applications. Database programs implementing a client/server architecture, on the other hand, permit multiple users to concurrently access data in the database, yet require additional programming complexity and cost to incorporate the database program with the application.
Thus, there is a need in the art for an alternative data management architecture for storing data used by information management programs in a multi-user environment.